package com.hexinfo.dmpro.sparing.service;


import cn.hutool.core.io.file.FileAppender;
import com.hexinfo.dmpro.sparing.dto.DistCPDTO;
import com.hexinfo.dmpro.sparing.model.HdfsHeatBackup;
import com.hexinfo.dmpro.sparing.model.SyncCompleteLibrary;
import com.hexinfo.dmpro.sparing.model.UatSyncLogs;

import java.util.concurrent.Future;

/**
 * DistCP操作类
 * 针对所有java调用sh脚本启动DistCP方式
 *
 */
public interface DistCPService {

    Future<Boolean> execShell(DistCPDTO distCPDTO, int sizes, String tableId);

    void souTableIsFinish(String sourceDataName, String tableId, String souDbTbName, FileAppender heatlog, FileAppender tableLog,boolean state);

    String execShellWgToUAT(DistCPDTO distCPDTO, UatSyncLogs uatSyncLogs);

    String execShellDatabase(DistCPDTO distCPDTO, SyncCompleteLibrary libraryRb);

    void updateEndFlag(String souName,Boolean state);

    Boolean getEndFlag(String souName);

    void deleteEndFlag(String souName);

}
